<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="target"></div>
<script>
promise_test(() => {
  return new Promise(resolve => {
    target.animate([
      {'resize':'none'},
      {'resize':'none'},
    ], {
      duration: 1000,
      delay: 100,
    });
    target.animate([
      {'--custom-property-name':'custom-value'},
      {'--custom-property-name':'custom-value'},
    ], 1);
    // This specific combination of async behaviour is required to trigger the crash,
    // creating functions here prevents the crash. This is probably due to V8 GC
    // implementation details.
    setInterval(gc);
    setTimeout(resolve);
  });
}, 'Do not crash in ASAN when using custom properties in element.animate()');
</script>
